<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//Tigris//DTD XHTML 1.0 Transitional//EN"
"http://style.tigris.org/tigris_transitional.dtd">
<html>
<head>
 <style type="text/css">
/* <![CDATA[ */ 
@import "css/readyset.css"; 
@import "css/inst.css";
/*  ]]> */
 </style>

<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
 <title>Use Case Format</title>
</head>

<body>
<div class="app">
<div class="readyset">


<h2><a href="srs.html">SRS</a> &gt;
    <a href="use-case-suite.html">Use Case Suite</a> &gt; Use Case Format</h2>

<div id="processimpact">
 <b>Process impact:</b> This reference page
 documents the format of use cases and gives tips on writing use cases.
 You can copy and paste the sample use case into your <a
 href="use-cases.html">Use Cases</a> document.  This file itself should
 not be edited to hold specific use cases.
</div> <!-- /processimpact -->

<div class="todo">
 TODO: Use this template once in your <a href="use-cases.html">Use
 Cases</a> document.  Anything you mention here will apply to all use
 cases in that file.
</div>

<div id="defaults">
<h3>Aspects common to all use cases</h3>
<table border="1" cellpadding="3" cellspacing="2" class="axial">
 <tr>
  <th>Direct Actors:</th>
  <td>
   <div>User: end-user in any role</div>
   <div>System: The system being built</div>
   <div>When actors are not listed, assume User is doing it.</div>
   <div>Items beginning with &quot;see&quot; indicate that System has presented a new screen.</div>
  </td>
 </tr>
 <tr>
  <th>Stakeholders:</th>
  <td>The user who is entering the data, and those who will read it</td>
 </tr>
 <tr>
 <th>Prereq:</th>
  <td>Project is set up</td>
 </tr>
</table>
</div>


<div class="todo">
 TODO: Copy and paste this use case template as many times as needed
 in your <a href="use-cases.html">Use Cases</a> document.  Only use
 those fields that are not the same as the default for all use cases.
</div>

<div id="UC-00">
<h3>UC-00: USE CASE NAME</h3>
<table border="1" cellpadding="3" cellspacing="2" class="axial">
 <tr>
  <th>Summary:</th>
  <td>1-3 SENTENCES</td>
 </tr>
 <tr>
  <th>Priority:</th>
  <td>Essential | Expected | Desired | Optional</td>
 </tr>
 <tr>
  <th>Use Frequency:</th>
  <td>Always | Often | Sometimes | Rarely | Once</td>
 </tr>
 <tr>
  <th>Direct Actors:</th>
  <td>ACTOR1, ACTOR2, ACTOR3</td>
 </tr>
 <tr>
  <th>Stakeholders:</th>
  <td>STAKEHOLDER, STAKEHOLDER, STAKEHOLDER</td>
 </tr>
 <tr>
 <th>Prereq:</th>
  <td>
   <div>PRECONDITION</div>
   <div>PRECONDITION</div>
   <div>PRECONDITION</div>
  </td>
 </tr>
 <tr>
  <th>Main Success Scenario:</th>
  <td>
   <ol>
    <li>STEP</li>
    <li>STEP</li>
    <li>STEP</li>
   </ol>
  </td>
 </tr>
 <tr>
  <th>Alternative Scenario Extensions:</th>
  <td>
   <ul>
    <li>If CONDITION, then ALTERNATIVE STEPS.
     <ul>
      <li>NOTES or DETAILS.</li>
     </ul>
    </li>
    <li>If CONDITION, then ALTERNATIVE STEPS.
     <ul>
      <li>NOTES or DETAILS.</li>
     </ul>
    </li>
   </ul>
  </td>
 </tr>
 <tr>
  <th>Notes and Questions</th>
  <td>
   <ul>
    <li>NOTE</li>

    <li>NOTE</li>

    <li>QUESTION</li>

    <li>QUESTION</li>

   </ul>
  </td>
 </tr>
</table>
</div>




<div id="steps">
<h3>Format of Use Case Steps</h3>

<p>Try to start each step with one of these action words:</p>

<dl>
 <dt>login [as ROLE or USER]</dt>

 <dd>Log into the system with a given user or a user of the given
 type. Usually usually only stated explicitly when the test case
 involves a workflow between different users.</dd>

 <dt>visit LOCATION</dt>

 <dd>Visit a page or GUI window.  State the user's intention, don't
 say too much about UI choices that could change later.  E.g., WRONG:
 "Press the 'Advanced...' button on the File | Page Setup dialog".
 RIGHT: "Visit the page margin configuration dialog".
 </dd>

 <dt>enter INFORMATION</dt>

 <dd>Fill in specific information.  Try to state the information in
 some detail.  E.g., WRONG: "Enter customer information." RIGHT:
 "Enter customer shipping address and discount code." Don't commit to
 details of a particular UI, i.e., don't name specific UI fields that
 might change later.</dd>

 <dt>COMMAND</dt>

 <dd>Describe a command that the user can tell the system to do. State
 the user's intent, not the label on a particular UI widget.  This
 will usually be followed by a "see" step where the user sees a
 confirmation of their action. E.g., WRONG: "Control-P, OK". RIGHT:
 "Print the current document with default settings".</dd>

 <dt>see CONTENT</dt>

 <dd>The user should see the specified information on the currently
 presented web page or GUI window.  Try to be specific about the
 information that is seen, but try not to refer to specific UI
 elements. E.g., WRONG: "see UserList.jsp" (what is the user supposed
 to notice on that page?) RIGHT: "see list of users with the newly
 added user in the list". </dd>

 <dt>perform USE-CASE-NAME</dt>

 <dd>This is like a subroutine call.  The user will do all the steps
 of the named use case and then continue on with the next step of this
 use case.</dd>


</dl>
</div> <!-- /steps -->



<div id="furtherinfo">
<h3>Further Information</h3>

<p>For more information on advice, see:</p>

<ul>
 <li>Words of wisdom on <a
 href="http://readyset.tigris.org/words-of-wisdom/use-case-suite.html">use
 case suites</a>.</li>

 <li>Words of wisdom on <a
 href="http://readyset.tigris.org/words-of-wisdom/use-cases.html">use cases</a>.</li>
</ul>

</div> <!-- /furtherinfo -->


</div>

  <div class="todo">
  TODO:  Check for <a
  href="http://readyset.tigris.org/words-of-wisdom/use-case-format.html">words
  of wisdom</a> and discuss ways to improve this template.
  Or, evaluate the ReadySET Pro <a title="pro use case template and sample test plan"
  href="http://www.readysetpro.com/">professional use case format document</a>.
  </div>

<div class="legal1">Company Proprietary</div>

<div class="footnote">
 Copyright &#169; 2003-2004 Jason Robbins.  All rights reserved. <a href="readyset-license.html">License terms</a>.
 Retain this copyright statement whenever this file is used as a
 template.
</div>

</div>
</body>
</html>
